package Logica;

public class RebotarPelotaRaquetaSuperiorEnemigoLAN {

	public RebotarPelotaRaquetaSuperiorEnemigoLAN() {
	}

	public int[] rebotarPelota(int posXPelota, int posYPelota,
			int posXRaquetaJugador, int posYRaquetaJugador,
			int posXRaquetaEnemigo, int posYRaquetaEnemigo, int velXPelota,
			int velYPelota, int correrJuego) {

		if (posYPelota >= posYRaquetaEnemigo + 20
				&& posYPelota <= posYRaquetaEnemigo + 25) {
			if (posXPelota >= posXRaquetaEnemigo - 20
					&& posXPelota <= posXRaquetaEnemigo + 25) {
				// Si la pelota choca con la raqueta en la parte superior izquierda
				velYPelota = 1;
				velXPelota = -1;
				return new int[] { posXPelota, posYPelota, posXRaquetaJugador, posYRaquetaJugador, posXRaquetaEnemigo, posYRaquetaEnemigo, velXPelota, velYPelota, correrJuego };
			}

			if (posXPelota > posXRaquetaEnemigo + 25
					&& posXPelota < posXRaquetaEnemigo + 155) {
				// Si la pelota choca con la raqueta en la parte superior central
				velYPelota = 1;
				return new int[] { posXPelota, posYPelota, posXRaquetaJugador, posYRaquetaJugador, posXRaquetaEnemigo, posYRaquetaEnemigo, velXPelota, velYPelota, correrJuego };
			}

			if (posXPelota >= posXRaquetaEnemigo + 155
					&& posXPelota <= posXRaquetaEnemigo + 190) {
				// Si la pelota choca con la raqueta en la parte superior derecha
				velYPelota = 1;
				velXPelota = 1;
				return new int[] { posXPelota, posYPelota, posXRaquetaJugador, posYRaquetaJugador, posXRaquetaEnemigo, posYRaquetaEnemigo, velXPelota, velYPelota, correrJuego };
			}

			return new int[] { posXPelota, posYPelota, posXRaquetaJugador, posYRaquetaJugador, posXRaquetaEnemigo, posYRaquetaEnemigo, velXPelota, velYPelota, correrJuego };
		}

		return new RebotarPelotaRaquetaLateralesEnemigoLAN().rebotarPelota(
				posXPelota, posYPelota, posXRaquetaJugador, posYRaquetaJugador, posXRaquetaEnemigo, posYRaquetaEnemigo, velXPelota, velYPelota, correrJuego);

	}
}